package ai.people.platform.archives.service;

import ai.people.core.nebula.entity.NebulaGraph;
import ai.people.core.nebula.request.GraphPathRequest;
import ai.people.netmon.framework.constant.GraphDirection;

import java.util.Collection;

/**
 * @author zhenglin
 * @date 2022/4/12
 */
public interface GraphAdminService {
    /**
     * 路径
     *
     * @param request 请求
     * @return {@link NebulaGraph}
     * @throws Exception 异常
     */
    @Deprecated
    NebulaGraph path(GraphPathRequest request) throws Exception;

    /**
     * 路径
     *
     * @param vid       从视频
     * @param direction 方向 {@link GraphDirection}
     * @return {@link NebulaGraph}
     * @throws Exception 异常
     */
    NebulaGraph path(String vid,String direction) throws Exception;

    /**
     * 路径
     *
     * @param vid        从视频
     * @param direction  方向
     * @param collection 集合
     * @return {@link NebulaGraph}
     * @throws Exception 异常
     */
    NebulaGraph path(String vid, String direction, Collection collection) throws Exception;

}
